
# 面向对象编程
"""
1. 概念 ：对现实世界的抽象 ，比如现实世界的车辆 、楼房 、电梯 。
2. 实体举例 ：
    1. 电梯类
    2. 在电梯类中包含了属性和方法 ：
        属性 ： 按钮 ，载重人数 ，楼层
        功能 ： 开门 ，关门 ，运行 。
    3. 使用时肯定会具体到某一部电梯 ，操作访问它的属性和功能

3. 软件举例 ：
    (1) bug类
    (2) bug的属性 ：是bug的各个字段 ，比如bug编号 ，bug标题 ，复现步骤等。
    (3) bug的功能 ：增 、删 、改 、查
    (4) 创建一个bug ，可以对该bug进行操作 。

4. 步骤 ：
    1. 将某个具体事物抽象成一个类
    2. 在此类中找到包含的属性(数据)和功能(方法)
    3. 初始化一个对象(实例) ，通过该对对象就可以操作属性和功能 ，从而实现了具体的需求

5. 解释：
    属性 就是 变量
    功能 就是 函数 ，在这里叫方法
    对象 就是 变量名

6. 定义：
class 类名():         括号可不加
    属性 >= 0
    方法 >= 0

对象名 = 类名()          # 初始化对象
对象名.属性
对象名.访问
"""


class Elevator():

    # 属性
    button = [1,2,3,4,5,6]
    max_nums = 13
    floor = 6

    # 方法
    def open(self):
        print("开门")

    def close(self):
        print("关门")

    def run(self):
        print("电梯运行")


elv = Elevator()        # 创建了一个电梯对象
print("载重人数:",elv.max_nums)
print("电梯运行:",elv.run())


class Bug:

    # 定义属性
    product = 'tpshop'
    project = 'front'
    version = '1.0'

    # 定义方法
    def create_bug(self):
        pass

    def update_bug(self):
        pass

    def delete_bug(self):
        pass

    def search_bug(self):
        pass


bug = Bug()     # 申明了一个bug
print(bug.version)